#ifndef CHESS_COMP_PLAYER_H
#define CHESS_COMP_PLAYER_H

#include "ChessPlayer.h"
#include "Move.h"

/**
 * The ChessPlayer class provides an interface for a ChessController implementation to interact
 * with the player through, regardless of whether the player is a human or a computer.
 */
class CompPlayer : public ChessPlayer
{
   public: //methods

      //! Constructor
      CompPlayer();

      /**
       * Indicate to the player that the user clicked on the given
       * row and column with the mouse.
       */
      void on_CellSelected(int row, int col, int button);

      /**
       * Handle when the timeout duration has passed.
       */
      void on_TimerEvent();

      Move * MakeMove();
};

#endif
